x86/cpuidle: push parked CPUs into deeper sleep states when possible
authorJan Beulich <jbeulich@suse.com>
Tue, 21 May 2019 06:31:09 +0000 (08:31 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 21 May 2019 06:31:09 +0000 (08:31 +0200)
commit685151829e7577383051baa63d57d5f0ac8e2006
treeb73dcd1217c92c754616ecda37646132154763b4
parent73cb1383bf8d9712c2df4a7bc50210d5f7cf0900
x86/cpuidle: push parked CPUs into deeper sleep states when possible

When the mwait-idle driver isn't used, C-state information becomes
available only in the course of Dom0 starting up. Use the provided data
to allow parked CPUs to sleep in a more energy efficient way, by waking
them briefly (via NMI) once the data has been recorded.

This involves re-arranging how/when the governor's ->enable() hook gets
invoked. The changes there include addition of so far missing error
handling in the respective CPU notifier handlers.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/acpi/cpu_idle.c
xen/arch/x86/acpi/cpuidle_menu.c
xen/arch/x86/cpu/mwait-idle.c